perm filename TC[AM,DBL] blob sn#275332 filedate 1977-04-13 generic text, type T, neo UTF8
(FILECREATED "16-APR-76 22:42:40" <LENAT>TC.;1 36117  

     changes to:  INIT-TC CPRIN1S TCCOMS)


  (LISPXPRINT (QUOTE TCCOMS)
	      T T)
  [RPAQQ TCCOMS ((FNS INIT-TC INIT-MAC UPCASE CPRIN1 CPRIN1S INIT1 INIT-COMP)
	  ZMSG CONCEPTS AUX-FACETS SUF-PARTS STRATEGY-PARTS XS-PARTS LNK-PARTS LOOP-FNS POSS-RPARTS GD-TEST LEXL GSTL 
	  OR-PARTS GSPEC-SUG GSPEC2SUG GINTPREDS (VARS * USERS)
	  (VARS * PUNC)
	  BA-LIST BA-LIST2 CAND-TAIL CONSTRUCTIVE-OPS DO-THRESH DUNNO DWIMUSERFN EX-THRESH F-COUNTER GCONJ-FAC 
	  GLOBALVARS GNUMS INIT-CANDS INIT-KILS S INIT-ONCE-LIST INIT-PAST INIT-DOTHRESH INIT-EXTHRESH INIT-INT-THRESH 
	  INIT-INTHRESH INT-THRESH INTHRESH JTRASH NO-LIST PUNC PUNC2 REASON SYN-LIST SWORDS TKNT-INIT TOP-ACTS TRIVB 
	  TRIV-BVAL USED USERNAMES USERS VERBOSITY XEQ-PARTS YES-LIST BB FIXCOMS FIXEDCONS GLO1 MAXLEVEL NOSWAPF PRIVBS 
	  PUNC1 REPR-FNS SAVECOMS SPARE-FNS STICKY-B STICKY-P SYS-FORGET-LIST UCASELST VERSION FACETS (FNS * FACETS)
	  RANDSTATE
	  (USERMACROS C COPY)
	  (P (INIT-COMP)
	     (INIT1)
	     (SETQ FIXEDCONS NIL)
	     (SETQ FIXVARS NIL)
	     (SETQ FIXFNS NIL)
	     (SETQ GLOBALVARS (NCONC GLOBALVARS GLO1))
	     (INIT-TC)
	     (WIDEPAPER T)
	     (INIT-MAC)
	     (CPRIN1S 0 Macros have been prepared DCR)
	     (CLOCK 2]
(DEFINEQ

(INIT-TC
  [LAMBDA (R1)
    [OR (FGETD (QUOTE GETP))
	(CPRIN1S 0 TAB Running in LISP with no GETP DCR)
	(PUTD (QUOTE GETP)
	      (GETD (QUOTE GETPROPLIST]
    (MOVD (QUOTE SETB)
	  (QUOTE SLOW-SETB))
    (MOVD (QUOTE OR)
	  (QUOTE ANY-OF))
    (MOVD (QUOTE AND)
	  (QUOTE EACH1OF))
    (MOVD (QUOTE GETP)
	  (QUOTE FGETB))
    (MOVD (QUOTE APPLY*)
	  (QUOTE APPLYB))
    (MOVD (QUOTE GETP)
	  (QUOTE GETB))
    (MOVD (QUOTE GETP)
	  (QUOTE INIT-PART))
    (MOVD (QUOTE APPEND)
	  (QUOTE ALL-OF))
    (MOVD (QUOTE CAR)
	  (QUOTE IPRED))
    (MOVD (QUOTE CAR)
	  (QUOTE ANY1OFE))
    (MOVD (QUOTE CADR)
	  (QUOTE IDEF))
    (MOVD (QUOTE CADR)
	  (QUOTE PINT))
    (MOVD (QUOTE CAAR)
	  (QUOTE P-OP))
    (MOVD (QUOTE CADAR)
	  (QUOTE P-B))
    (MOVD (QUOTE CADDAR)
	  (QUOTE P-P))
    (MOVD (QUOTE CDDDAR)
	  (QUOTE PARG))
    (MOVD (QUOTE CADDR)
	  (QUOTE PWHY))
    (MOVD (QUOTE CADDDR)
	  (QUOTE P-V))
    (MOVD (QUOTE CADDR)
	  (QUOTE IVAL))
    (MOVD (QUOTE CDR)
	  (QUOTE IFEATURES))
    (MOVD (QUOTE CDAR)
	  (QUOTE IMAT))
    (MOVD (QUOTE CADR)
	  (QUOTE IFEA))
    (MOVD (QUOTE CADAR)
	  (QUOTE CSINT))
    (MOVD (QUOTE CDR)
	  (QUOTE CSOTHERS))
    (MOVD (QUOTE CAR)
	  (QUOTE CSBEST))
    (MOVD (QUOTE CADR)
	  (QUOTE CINT))
    (MOVD (QUOTE CAAR)
	  (QUOTE COP))
    (MOVD (QUOTE CDDDAR)
	  (QUOTE CARG))
    (MOVD (QUOTE CADDR)
	  (QUOTE CWHY))
    (MOVD (QUOTE LIST)
	  (QUOTE MAKE-CAND))
    (MOVD (QUOTE CADAR)
	  (QUOTE CB))
    (MOVD (QUOTE CADDAR)
	  (QUOTE CP))
    (MOVD (QUOTE CAR)
	  (QUOTE CACT))
    (CPRIN1S 0 TAB Ready for compilation to begin DCR)
    (QUOTE OK])

(INIT-MAC
  [LAMBDA NIL
    (SETQ NOSWAPFNS (APPEND NOSWAPFNS REPR-FNS))                                (* When GETP goes away, do 
										(R GETP GETPROPLIST), and also add the 
										macro (GETP ((X Y) (GETPROPLIST X Y))))
    (DEFLIST [QUOTE ((FGETB ((B P)
			     (GETP B P)))
		     (GETB ((X Y)
			    (GETP X Y)))
		     (INIT-PART ((X Y)
				 (GETP X Y)))
		     [SETB (X (COND
				[(AND (ISQ (CADR X))
				      (FMEMB (CADADR X)
					     XEQ-PARTS))
				  (COND
				    [(ISQ (CAR X))
				      (LIST (QUOTE PROGN)
					    [LIST (QUOTE PUTD)
						  [KWOTE (SETQ ZZBP (GLUEE (CADAR X)
									   (CADADR X]
						  (LIST (QUOTE LIST)
							(LIST (QUOTE QUOTE)
							      (QUOTE LAMBDA))
							(LIST (QUOTE QUOTE)
							      (GETARGS (CADADR X)))
							(LIST (QUOTE LIST)
							      (LIST (QUOTE QUOTE)
								    (QUOTE SELF-COMPILE))
							      (KWOTE ZZBP)
							      (LIST (QUOTE CONS)
								    (KWOTE (GETFNAME (CADADR X)))
								    (CADDR X]
					    [LIST (QUOTE OR)
						  (LIST (QUOTE GETB)
							(CAR X)
							(CADR X))
						  (LIST (QUOTE ATTACH)
							[KWOTE (LIST (CADADR X)
								     (CONS ZZBP (GETARGS (CADADR X]
							(LIST (QUOTE BPFS)
							      (CAR X]
					    (LIST (QUOTE PUT)
						  (CAR X)
						  (CADR X)
						  (CADDR X]
				    (T (LIST (QUOTE PROGN)
					     [LIST (QUOTE PUTD)
						   (LIST (QUOTE SETQ)
							 (QUOTE ZZBP)
							 (LIST (QUOTE GLUEE)
							       (CAR X)
							       (CADR X)))
						   (LIST (QUOTE LIST)
							 (LIST (QUOTE QUOTE)
							       (QUOTE LAMBDA))
							 (LIST (QUOTE QUOTE)
							       (GETARGS (CADADR X)))
							 (LIST (QUOTE LIST)
							       (LIST (QUOTE QUOTE)
								     (QUOTE SELF-COMPILE))
							       (QUOTE ZZBP)
							       (LIST (QUOTE CONS)
								     (KWOTE (GETFNAME (CADADR X)))
								     (CADDR X]
					     [LIST (QUOTE OR)
						   (LIST (QUOTE GETB)
							 (CAR X)
							 (CADR X))
						   (LIST (QUOTE ATTACH)
							 [LIST (QUOTE LIST)
							       (CADR X)
							       (LIST (QUOTE CONS)
								     (QUOTE ZZBP)
								     (KWOTE (GETARGS (CADADR X]
							 (LIST (QUOTE BPFS)
							       (CAR X]
					     (LIST (QUOTE PUT)
						   (CAR X)
						   (CADR X)
						   (CADDR X]
				((ISQ (CADR X))
				  (CONS (QUOTE PUT)
					X))
				(T (CONS (QUOTE SLOW-SETB)
					 X]
		     (ACCESS ((X)
			      X))
		     [GETBQ ((B P)
			     (GETB (QUOTE B)
				   (QUOTE P]
		     (SETBQ ((B P Q)
			     (SETB (QUOTE B)
				   (QUOTE P)
				   Q)))
		     [APPLYB (X (COND
				  ((AND (LISTP (CAR X))
					(EQ (CAAR X)
					    (QUOTE QUOTE)))
				    (CONS (CADAR X)
					  (CDR X)))
				  (T (CONS (QUOTE APPLY*)
					   X]
		     (CSINT ((X)
			     (CADAR X)))
		     (CSOTHERS ((X)
				(CDR X)))
		     (CSBEST ((X)
			      (CAR X)))
		     (CINT ((X)
			    (CADR X)))
		     (RPLACINT ((X Y)
				(RPLACA (CDR X)
					Y)))
		     (PINT ((X)
			    (CADR X)))
		     (P-OP ((X)
			    (CAAR X)))
		     (P-B ((X)
			   (CADAR X)))
		     (P-P ((X)
			   (CADDAR X)))
		     (PARG ((X)
			    (CDDDAR X)))
		     (P-V ((X)
			   (CADDDR X)))
		     (PWHY ((X)
			    (CADDR X)))
		     (COP ((X)
			   (CAAR X)))
		     (CWHY ((X)
			    (CADDR X)))
		     (MAKE-CAND (X (CONS (QUOTE LIST)
					 X)))
		     (CB ((X)
			  (CADAR X)))
		     (CP ((X)
			  (CADDAR X)))
		     (CARG ((X)
			    (CDDDAR X)))
		     (CACT ((X)
			    (CAR X)))
		     [BPFS ((X)
			    (CDDR (CADDR (GETD X]
		     (IPRED ((X)
			     (CAR X)))
		     (IDEF ((X)
			    (CADR X)))
		     (IVAL ((X)
			    (CADDR X)))
		     (IFEATURES ((X)
				 (CDR X)))
		     (IMAT ((X)
			    (CDAR X)))
		     (IFEA ((X)
			    (CADR X)))
		     [INCR ((X)
			    (SETQ X (ADD1 X]
		     [TYPE (X (CAR (LAST X]
		     (ANY1OFE ((X)
			       (CAR X)))
		     [LASTELE ((X)
			       (CAR (FLAST X]
		     (IS-CON ((X)
			      (GETHASH X HCON)))
		     (ANY-OF (X (CONS (QUOTE OR)
				      X)))
		     (EACH1OF (X (CONS (QUOTE AND)
				       X)))
		     [ANY1OF (X (PROGN                                          (* RAND-MEMB X)
				       (CAR X]
		     (ALL-OF (X (CONS (QUOTE APPEND)
				      X)))
		     [ISYN ((X)
			    (CDR (FASSOC X SYN-LIST]
		     (Q ((X)
			 (QUOTE (QUOTE X]
	     (QUOTE MACRO])

(UPCASE
  [LAMBDA NIL
    (SETQ UCASELST (NCONC (SUBSET TOP6COMS (QUOTE ATOM))
			  (SUBSET CON6COMS (QUOTE ATOM])

(CPRIN1
  [NLAMBDA CPARG
    (COND
      ((IGREATERP VERBOSITY (EVAL (CAR CPARG)))
	(MAPC (CDR CPARG)
	      (FUNCTION (LAMBDA (CPZX)
		  (COND
		    ((STRINGP CPZX)
		      (PRIN1 CPZX))
		    ((FMEMB CPZX PUNC)
		      (PRIN1 (GETTOPVAL CPZX)))
		    ((LISTP CPZX)
		      (PRIN1 (EVAL CPZX)))
		    ((NEQ (GETTOPVAL CPZX)
			  (QUOTE NOBIND))
		      (PRIN1 (EVAL CPZX)))
		    ((NEQ (EVALV CPZX)
			  (QUOTE NOBIND))
		      (PRIN1 (EVALV CPZX)))
		    (T (PRIN1 CPZX])

(CPRIN1S
  [NLAMBDA CPARG
    (COND
      ((IGREATERP VERBOSITY (EVAL (CAR CPARG)))
	(MAPC (CDR CPARG)
	      (FUNCTION (LAMBDA (CPZX)
		  (COND
		    [(NEQ (GETTOPVAL CPZX)
			  (QUOTE NOBIND))
		      (COND
			((FMEMB CPZX PUNC)
			  (PRIN1 (GETTOPVAL CPZX)))
			(T (PRIN1 SPACE)
			   (PRIN1 (EVAL CPZX]
		    ((NEQ (EVALV CPZX)
			  (QUOTE NOBIND))
		      (PRIN1 SPACE)
		      (PRIN1 (EVALV CPZX)))
		    (T (SETTOPVAL CPZX CPZX)
		       (PRIN1 SPACE)
		       (PRIN1 CPZX])

(INIT1
  [LAMBDA NIL
    (CLDISABLE (QUOTE -))
    (SETQ MKSWAPSIZE 64)
    (SETQQ NOSWAPFNS (SETB GETB UPDATE))                                        (* Decide later what these fns are)
    (WIDEPAPER NIL)
    (RAISE)
    [INTERRUPTCHAR 24 (QUOTE (PROGN (TERPRI)
				    (PRIN1 " *** BACKTRACING:")
				    (TERPRI)
				    (AM-BT)
				    (TERPRI)
				    (PRIN1 "*** END OF BACKTRACE")
				    (TERPRI]
    (INTERRUPTCHAR 25 (QUOTE (CPRIN1S -1 CRLF (LENGTH CANDS)
				      Cands COMMA (LENGTH CONCEPTS)
				      Concepts COMMA Gcnt is GCNT DCR)))
    (INTERRUPTCHAR 9 (QUOTE (HANDLE-I-INTERRUPT)))
    [INTERRUPTCHAR 26 (QUOTE (PROGN (TERPRI)
				    (PRIN1 " *** INTEREST ")
				    (PRIN1 DO-THRESH)
				    (PRIN1 ", ")
				    (PRIN1 INTHRESH)
				    (PRIN1 ", NCANDS=")
				    (PRIN1 (LENGTH CANDS))
				    (PRIN1 ", CAND=")
				    (PRINT CAND]
    (TERPRI)
    (PRIN1 "YOU PROBABLY WANT TO LOAD IN THE FILE CON6 NOW")
    (RANDSET RANDSTATE)
    (TERPRI])

(INIT-COMP
  [LAMBDA NIL
    [COND
      ((NOT (GETD (QUOTE GETTOPVAL)))
	(MOVD (QUOTE CAR)
	      (QUOTE GETTOPVAL))
	(MOVD (QUOTE CDR)
	      (QUOTE GETPROPLIST))
	[PUTD (QUOTE SETTOPVAL)
	      (QUOTE (LAMBDA (X Y)
		       (CAR (FRPLACA X Y]
	[PUTD (QUOTE SETPROPLIST)
	      (QUOTE (LAMBDA (X Y)
		       (CDR (FRPLACD X Y]
	[PUTD (QUOTE /SETTOPVAL)
	      (QUOTE (LAMBDA (X Y)
		       (CAR (/RPLACA X Y]
	[PUTD (QUOTE /SETPROPLIST)
	      (QUOTE (LAMBDA (X Y)
		       (CDR (/RPLACD X Y]
	(NCONC LISPXFNS (QUOTE ((SETTOPVAL . /SETTOPVAL)
				(SETPROPLIST . /SETPROPLIST]
    [COND
      ((NOT (GETD (QUOTE GETFILEPTR)))
	(MOVD (QUOTE SFPTR)
	      (QUOTE GETFILEPTR))
	(PUTD (QUOTE SETFILEPTR)
	      (QUOTE (LAMBDA (FILE PTR)
		       (PROG1 PTR (SFPTR FILE PTR]
    (DEFLIST [QUOTE ((GETTOPVAL ((X)
				 (CAR X)))
		     (GETPROPLIST ((X)
				   (CDR X]
	     (QUOTE MACRO])
)
  (RPAQQ ZMSG (* In reset3b maybe we should worry about removing in-dom-of))
  (RPAQQ CONCEPTS
	 (ACTIVE ACTIVE-D-R ACTIVE-EXS ACTIVE-EXS-NOT-BDY ACTIVE-TIES ANY-STRUC ANYB ANYB-ALGS ANYB-ANAS ANYB-ANYP 
		 ANYB-CHECK ANYB-CHECK1 ANYB-CHECK2 ANYB-D-R ANYB-DEFN ANYB-DEFN-NEC ANYB-DEFN-SUF ANYB-EXS 
		 ANYB-EXS-BDY ANYB-EXS-NOT ANYB-EXS-NOT-BDY ANYB-FILLIN ANYB-FILLIN1 ANYB-FILLIN2 ANYB-GENL 
		 ANYB-IN-DOM-OF ANYB-IN-RAN-OF ANYB-INT ANYB-INTU ANYB-INV ANYB-RESTRUC ANYB-SPEC ANYB-SUGG ANYB-TIES 
		 ANYB-UP ANYB-UP-NOT ANYB-VIEW ANYB-WORTH ANYTHING ATOM-OBJ BAG-OF-LISTS BAG-OF-STRUCS BAG-STRUC 
		 BAG-STRUC-DELETE BAG-STRUC-DIFF BAG-STRUC-INSERT BAG-STRUC-INTERSECT BAG-STRUC-JOIN CANONIZE COALESCE 
		 COMPOSE COMPOSE-D-R COMPOSE-EXS COMPOSE-EXS-D-R CONJEC CONSTRUCTIVE-OP EMPTY-STRUC FINAL FIRST 
		 IDENTITY INV-OP INVERTED-OP INVERTED-OP-EXS LIST-STRUC LIST-STRUC-DELETE LIST-STRUC-INSERT 
		 LIST-STRUC-INTERSECT MAP-JOIN MAP-REPLACE MAP-REPLACE2 MULT-STRUC NON-EMPTY-STRUC NONMULT-STRUC 
		 NONMULT-STRUC-EXS OBJ-EQUAL OBJECT OBJECT-EXS OPERATION ORD-OBJ ORD-OBJ-EXS ORD-PAIR OSET-STRUC 
		 OSET-STRUC-DELETE OSET-STRUC-INSERT OSET-STRUC-INTERSECT PREDICATE PROJ1 PROJ2 REAR RELATION RESTRICT 
		 REV-ORD-PAIR SET-OF-LISTS SET-OF-STRUCS SET-STRUC SET-STRUC-DELETE SET-STRUC-DIFF SET-STRUC-INSERT 
		 SET-STRUC-INTERSECT STRUC-OF-LISTS STRUC-OF-STRUCS STRUCTURE STRUCTURE-DELETE STRUCTURE-DIFF 
		 STRUCTURE-EQUAL STRUCTURE-EXS STRUCTURE-EXS-BDY STRUCTURE-INSERT STRUCTURE-INTERSECT STRUCTURE-MEMB 
		 TRUTH-VAL UNORD-OBJ UNORD-OBJ-EXS))
  (RPAQQ AUX-FACETS (FILLIN1 FILLIN2 CHECK1 CHECK2))
  (RPAQQ SUF-PARTS (FILLIN CHECK))
  (RPAQQ STRATEGY-PARTS (FILLIN CHECK))
  (RPAQQ XS-PARTS (INT ANAS INV CHECK1 CHECK2 FILLIN1 FILLIN2 INTU RESTRUC VIEW SUGG DEFN-NEC DEFN-SUF DEFN ALGS))
  (RPAQQ LNK-PARTS (UP SPEC GENL))
  (RPAQQ LOOP-FNS (MAPCAR MAPC MAPCONC MAP2CAR SUBSET EVERY NOTEVERY SOME ANY1OF-SATISFYING ANY2OF-SATISFYING 
			  ANY3OF-SATISFYING MAPAPPEND REPLACE))
  (RPAQQ POSS-RPARTS (DOMAIN RANGE DEFN))
  [RPAQQ GD-TEST (SOME XSET (FUNCTION (LAMBDA (ZZ ZZ1)
					      (COND ((SETQ ZZ1 (APPLY* XFN (CDR ZZ)))
						     (RPLACA ZZ (ADD1 (CAR ZZ]
  (RPAQQ LEXL
	 (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z))
  (RPAQQ GSTL (CLASS BAG OSET VECTOR))
  (RPAQQ OR-PARTS (DEFN DEFN-NOT ALGS VIEW))
  [RPAQQ GSPEC-SUG
	 (AND (GETB B2 (QUOTE EXS))
	      (IGREATERP (SETQ GTEMP330 (DOTPROD (MAP2CAR (GETB B1 (QUOTE WORTH))
							  (GETB B2 (QUOTE WORTH))
							  (QUOTE EAVG2))
						 (LIST (QUOTIENT [SMALLER 30 (LENGTH (GETB B1 (QUOTE EXS]
								 35.0)
						       .1 .1)))
			 BA1)
	      (ADD1KIL (SUB1 GCNT)
		       B2
		       (QUOTE SUGG)
		       (SPLIST No sense using this suggestion more than once))
	      (LIST (LIST (LIST (QUOTE FILLIN)
				B1
				(QUOTE SPEC))
			  GTEMP330
			  (LIST (SPLIST Since there are even some examples of B2 COMMA an interesting specialization of 
					B1 SEMICOLON so it is worth looking at other specializations of B1]
  [RPAQQ GSPEC2SUG
	 (AND (GETB B2 (QUOTE EXS))
	      (IGREATERP (SETQ GTEMP330 (DOTPROD (MAP2CAR (GETB B1 (QUOTE WORTH))
							  (GETB B2 (QUOTE WORTH))
							  (QUOTE EAVG2))
						 (LIST (QUOTIENT [SMALLER 30 (LENGTH (GETB B1 (QUOTE EXS]
								 35.0)
						       .1 .1)))
			 BA1)
	      (ADD1KIL (SUB1 GCNT)
		       B2
		       (QUOTE SUGG)
		       (SPLIST No sense using this suggestion more than once))
	      (LIST (LIST (LIST (QUOTE FILLIN)
				B2
				(QUOTE SPEC))
			  GTEMP330
			  (LIST (SPLIST There are known examples of this interesting specialization of B1 COMMA so let 
					APOS go on and try to specialize B2]
  (RPAQQ GINTPREDS (OBJ-EQUAL))
  (RPAQQ AIKINS Jan)
  (RPAQQ Allen 0)
  (RPAQQ Avra 0)
  (RPAQQ BARSTOW Dave)
  (RPAQQ BLEDSOE Woody)
  (RPAQQ BOBROW Danny)
  (RPAQQ BUCHANAN Bruce)
  (RPAQQ Bruce 1)
  (RPAQQ CLANCY Mike)
  (RPAQQ COHEN NOBIND)
  (RPAQQ COHN Avra)
  (RPAQQ Cordell 0)
  (RPAQQ DAVIS Randy)
  (RPAQQ Danny 0)
  (RPAQQ Dave 0)
  (RPAQQ Don 0)
  (RPAQQ Doug 13)
  (RPAQQ Ed 1)
  (RPAQQ FEIGENBAUM Ed)
  (RPAQQ GREEN Cordell)
  (RPAQQ Herb 0)
  (RPAQQ Jan 0)
  (RPAQQ Josh 0)
  (RPAQQ KNUTH Don)
  (RPAQQ LEDERBERG Josh)
  (RPAQQ LENAT Doug)
  (RPAQQ Mike 0)
  (RPAQQ NEWELL Allen)
  (RPAQQ Paul 0)
  (RPAQQ Randy 1)
  (RPAQQ Richard 0)
  (RPAQQ SIMON Herb)
  (RPAQQ TYRO -1)
  (RPAQQ WALDINGER Richard)
  (RPAQQ WEYRAUCH Richard)
  (RPAQQ Woody 0)
  (RPAQQ APOS "'s")
  (RPAQQ COLON :)
  (RPAQQ COMMA ", ")
  (RPAQQ CRLF "
")
  (RPAQQ DASH "-")
  (RPAQQ DCR ".
")
  (RPAQQ DOT ".")
  (RPAQQ EXCLAIM "! ")
  (RPAQQ LPAREN " (")
  (RPAQQ PLUS +)
  (RPAQQ QUES "? ")
  (RPAQQ RPAREN %))
  (RPAQQ SEMICOLON ;)
  (RPAQQ SPACE " ")
  (RPAQQ TAB "      ")
  (RPAQQ BA-LIST (BA1 BA2 BA3 BA4 BA5 BA6))
  (RPAQQ BA-LIST2 (BA1 BA2 BA3))
  [RPAQQ CAND-TAIL ((PRINT (QUOTE EXS)
			   (QUOTE ANYB))
	  0
	  ((No decent reason)
	   (This gets AM going]
  (RPAQQ CONSTRUCTIVE-OPS (STRUCTURE-INSERT UNION NCONC ATTACH CONS APPEND LIST MAP-JOIN MAP-REPLACE MAP-REPLACE2 
					    MAPCONC))
  (RPAQQ DO-THRESH 178)
  (RPAQQ DUNNO (* I don't understand what you're asking about))
  (RPAQQ DWIMUSERFN T)
  (RPAQQ EX-THRESH 500)
  (RPAQQ F-COUNTER 0)
  (RPAQQ GCONJ-FAC 90)
  (RPAQQ GLOBALVARS
	 (ACEXPIRE ALLOP AM AM-WAIT AM-WSECS APOS ARGS AUX-FACETS B-DEF BA-LIST BA-LIST2 BAL1 BAL2 CAND CAND-TAIL CANDS 
		   CBEGIN CFN6COMS CIRC COLON COMMA CON6COMS CONCEPTS CONSTRUCTIVE-OPS CP9 CRLF CROS CS-ACT CS-B 
		   CS-FAIL CS-INT CS-OP CS-P CS-WHY CTSPAN CVAL DASH DCR DEFN-STAK DISMISS DO-THRESH DOT DR-CHKLST 
		   DR2CHKLST DUNNO ECMS EKNT ESTAT ETIM EX-THRESH EXCLAIM F-COUNTER FACETS FALSE FIRSTNAME FIXEDCONS 
		   FIXFNS FIXVARS FL1 FL2 FL3 FL4 FROB FROB1 FV1 FV2 FV3 G-IF GADVISER GAEKNT GATH-PART GCAN-DEFN 
		   GCEKNT GCNT GCONJ-FAC GD-TEST GEKNT GENG GEXISTING GIFN GINT-CONS GLEN GLOC-NOT GMSG GNEKNT GNUMS 
		   GPGM GPNAME GQEKNT GRCOMP GREM GRPART GSOME-ELE GSOME-VAL GSP1 GSPEC-SUG GSPEC2SUG GSTL GSTRUC GSWI 
		   GTEKNT GTEMP GTEMP1 GTEMP10 GTEMP101 GTEMP102 GTEMP103 GTEMP11 GTEMP117 GTEMP118 GTEMP119 GTEMP12 
		   GTEMP120 GTEMP125 GTEMP126 GTEMP127 GTEMP128 GTEMP129 GTEMP13 GTEMP130 GTEMP131 GTEMP132 GTEMP133 
		   GTEMP134 GTEMP135 GTEMP137 GTEMP138 GTEMP139 GTEMP14 GTEMP140 GTEMP15 GTEMP16 GTEMP17 GTEMP18 
		   GTEMP19 GTEMP197 GTEMP198 GTEMP199 GTEMP2 GTEMP20 GTEMP200 GTEMP201 GTEMP21 GTEMP210 GTEMP212 
		   GTEMP213 GTEMP214 GTEMP215 GTEMP216 GTEMP217 GTEMP218 GTEMP219 GTEMP22 GTEMP220 GTEMP221 GTEMP222 
		   GTEMP223 GTEMP224 GTEMP225 GTEMP23 GTEMP24 GTEMP25 GTEMP26 GTEMP27 GTEMP28 GTEMP29 GTEMP3 GTEMP30 
		   GTEMP301 GTEMP302 GTEMP307 GTEMP308 GTEMP309 GTEMP31 GTEMP310 GTEMP311 GTEMP312 GTEMP313 GTEMP314 
		   GTEMP315 GTEMP316 GTEMP317 GTEMP318 GTEMP319 GTEMP330 GTEMP331 GTEMP332 GTEMP346 GTEMP351 GTEMP352 
		   GTEMP36 GTEMP37 GTEMP370 GTEMP371 GTEMP372 GTEMP373 GTEMP380 GTEMP386 GTEMP39 GTEMP390 GTEMP391 
		   GTEMP4 GTEMP43 GTEMP44 GTEMP46 GTEMP47 GTEMP48 GTEMP49 GTEMP5 GTEMP50 GTEMP51 GTEMP52 GTEMP53 
		   GTEMP54 GTEMP55 GTEMP6 GTEMP60 GTEMP7 GTEMP8 GTEMP9 GTEMPA GTEMPP GUP1 GUSED GWHY GXTR-PART HCON 
		   HUND ILEV INIT-CANDS INIT-DOTHRESH INIT-EXTHRESH INIT-INT-THRESH INIT-INTHRESH INIT-KILS 
		   INIT-ONCE-LIST INIT-PAST GINTPREDS INT-THRESH INTHRESH JTRASH KILS LASTNAME LEXL LNK-PARTS LOOP-FNS 
		   LPAREN MAIN-D-R MAXNAME MERGE-PARTS MWHY NCONCEPTS NEKNT NEW-C-PARTS NEW-CANDS NEW-CONCEPTS NEW-ILEV 
		   NEW-PARTS NEWB NO-LIST NOSWAP-CONCEPTS NOSWAPF OBJX OK ONCE-LIST OR-PARTS ORIG-EMP PAST PHIST PKNT 
		   PLUS PMAC POSS-RPARTS PREC PRIVBS PUNC PUNC1 PUNC2 QUES RANC RANDSTATE RANF RANU RB1 REASON REPR-FNS 
		   RPAREN RTEM2 SEENCANDS SEMICOLON SIN5 SPACE STICKY-B STICKY-P STRAT STRATEGY-PARTS SUF-PARTS SUF1 
		   SUF2 SWORDS SWSUF SYN-LIST SYNTH-RANGE SYS-FORGET-LIST TAB TKNT-INIT TMP1 TMP11 TMP2 TMP3 TMP4 TMP5 
		   TMP6 TMP7 TMP8 TMP9 TOP-ACTS TOP6COMS TRIV-B TRIV-BVAL TRIVB TRUE TYRO UCONTROL USED USERNAME 
		   USERNAMES UTIL6COMS V-REASON V1REASON VCONCEPTS VERBOSITY VERSION XEQ-PARTS XS-PARTS YES-LIST ZZBP 
		   SPARECOMS SPARE-FNS SPARECOMS SPARE-FNS SPARECOMS SPARE-FNS))
  (RPAQQ GNUMS (6 5 4 3 2 1))
  [RPAQQ INIT-CANDS (((PRINT (QUOTE EXS)
			     (QUOTE ANYB))
	   0
	   ((No decent reason)
	    (This gets AM going]
  (RPAQQ INIT-KILS ((999 ANYTHING D-R DUNNO)))
  (RPAQQ S NOBIND)
  (RPAQQ INIT-ONCE-LIST (ANYB ANYP))
  (RPAQQ INIT-PAST ((A B)
	  (C D)
	  (E F)
	  (G H)
	  (I J)
	  (K L)
	  (M N)
	  (O P)
	  (Q R)
	  (S T)
	  (U V)
	  (W X)
	  (Y Z)
	  (AA BB)
	  (CC DD)
	  (EE FF)))
  (RPAQQ INIT-DOTHRESH 500)
  (RPAQQ INIT-EXTHRESH 500)
  (RPAQQ INIT-INT-THRESH 279)
  (RPAQQ INIT-INTHRESH 100)
  (RPAQQ INT-THRESH 295)
  (RPAQQ INTHRESH 59)
  (RPAQQ JTRASH (JUST-ONCE (COND)))
  (RPAQQ NO-LIST (N n NO no NIL))
  (RPAQQ PUNC (APOS COLON COMMA CRLF DASH DCR DOT EXCLAIM LPAREN PLUS QUES RPAREN SEMICOLON SPACE TAB))
  (RPAQQ PUNC2 (45 38 61 58))
  (RPAQQ REASON NIL)
  (RPAQQ SYN-LIST NIL)
  (RPAQQ SWORDS (FALSE TRUE only all))
  (RPAQQ TKNT-INIT 20000)
  (RPAQQ TOP-ACTS (APPLYB CHECK EXPR-IN FILLIN GOAL PRINT TRANSLATE))
  (RPAQQ TRIVB [LAMBDA (BP BA1 BA2 BA3 BA4)
		       (SELECTQ BP NIL])
  (RPAQQ TRIV-BVAL (FROM-FILE CON6))
  (RPAQQ USED NIL)
  (RPAQQ USERNAMES (DOUG ED CORDELL BRUCE DON))
  (RPAQQ USERS
	 (AIKINS Allen Avra BARSTOW BLEDSOE BOBROW BUCHANAN Bruce CLANCY COHEN COHN Cordell DAVIS Danny Dave Don Doug 
		 Ed FEIGENBAUM GREEN Herb Jan Josh KNUTH LEDERBERG LENAT Mike NEWELL Paul Randy Richard SIMON TYRO 
		 WALDINGER WEYRAUCH Woody))
  (RPAQQ VERBOSITY 11)
  (RPAQQ XEQ-PARTS (DEFN-SUF DEFN-NEC ALGS ANAS CHECK CHECK1 CHECK2 DEFN DEFN-NEC DEFN-SUF FILLIN FILLIN1 FILLIN2 INT 
			     INTU INV RESTRUC SUGG VIEW))
  (RPAQQ YES-LIST (Y y YES yes T))
  (RPAQQ BB
	 (SET-STRUC-DELETE-E-INV STRUCTURE-MEMB STRUCTURE-INSERT RAND-MEMB SET-STRUC-DELETE OSET-STRUC INSTAN-PAT 
				 INSTAN-REC INSTAN-BASE INSTAN-S INSTAN-D INSTAN-I INSTAN-1D INSTAN-1I INSTAN-1S 
				 PICK-CAND XEQ-CAND UPDATE TLOOP GENL FILLIN PXEQ PGET APPLYB-P GETB-P-C RIPPLE-SIMULT 
				 PSUF EXS RAND-THING))
  [RPAQQ FIXCOMS ((FNS * FIXFNS)
	  FIXFNS
	  (VARS * FIXVARS)
	  FIXVARS GLOBALVARS FIXEDCONS (COMS * (LIST (CONS (QUOTE IFPROP)
							   (CONS (QUOTE ALL)
								 FIXEDCONS]
  (RPAQQ FIXEDCONS NIL)
  (RPAQQ GLO1 (SPARECOMS SPARE-FNS))
  (RPAQQ MAXLEVEL 400)
  (RPAQQ NOSWAPF
	 (ADD1CAND ATOM-INT BPFS CPRIN1S CREATEB DOTPROD DSET-DIFF DWIMUSERFN FRIPPLE-S GLUE GLUEE INCRB INS1CAND INVQ 
		   NCONCB PRUNABLE RANDQMEMB RIPPLE RIPPLE-L SELF-INT SETB SORD UNFORGETTABLE))
  (RPAQQ PRIVBS (ANYB ANYTHING LIST-STRUC TRUTH-VAL ANY-STRUC))
  (RPAQQ PUNC1 (%  %. + %( , %) : ! ; %
 ?))
  (RPAQQ REPR-FNS
	 (ACCEPT-B APPLYB BPFS CHANGE-B CREATEB DECRB DEFB DEFP DWIMUSERFN GCB GETB GETBQ GETU GLUE GLUEC GLUEE INCRB 
		   INIT-PART NCONCB PGET PSUF PUTB PUTU PXEQ SETB SETBQ SWAPB SWGETB SWSETB))
  (RPAQQ SAVECOMS (GLOBALVARS (VARS * GLOBALVARS)))
  (RPAQQ SPARE-FNS NIL)
  (RPAQQ STICKY-B TRIANGLE-EQUAL)
  (RPAQQ STICKY-P ALGS)
  (RPAQQ SYS-FORGET-LIST
	 (DISPLAYTERMP PRETTYCOMPRINT PACK-IN-COMPBLOCK MAKESYS OBIN FGETP OSIN SYSOUT OSFBSZ PUTDQ /SETPROPLIST 
		       SETTOPVAL /SETTOPVAL SETPROPLIST SETFILEPTR EDITV EDITF DEFINEQ MAKEFILE))
  (RPAQQ UCASELST
	 (FACETS BA-LIST BA-LIST2 CAND-TAIL CONSTRUCTIVE-OPS DO-THRESH DUNNO DWIMUSERFN EX-THRESH F-COUNTER GNUMS 
		 INIT-CANDS INIT-ONCE-LIST INIT-PAST INIT-DOTHRESH INIT-EXTHRESH INIT-INT-THRESH INIT-INTHRESH 
		 INT-THRESH INTHRESH JTRASH NO-LIST PUNC PUNC2 RANDSTATE REASON SWORDS TKNT-INIT TOP-ACTS TRIVB 
		 TRIV-BVAL USED USERNAMES USERS VERBOSITY XEQ-PARTS YES-LIST ZMSG CONCEPTS AUX-FACETS SUF-PARTS 
		 STRATEGY-PARTS XS-PARTS OR-PARTS GINTPREDS))
  (RPAQQ VERSION 6)
  (RPAQQ FACETS
	 (WORTH ALGS ANAS CHECK CHECK1 CHECK2 D-R DEFN DEFN-NEC DEFN-SUF EXS EXS-BDY EXS-NOT EXS-NOT-BDY FILLIN FILLIN1 
		FILLIN2 GENL IN-DOM-OF IN-RAN-OF INT INTU INV SPEC SUGG TIES UP UP-NOT VIEW))
(DEFINEQ

(WORTH
  [NLAMBDA (B)
    (PGET (QUOTE WORTH)
	  B])

(ALGS
  [NLAMBDA (B)
    (RIPPLE-UNTIL-P B (QUOTE GENL)
		    (QUOTE ALGS])

(ANAS
  [NLAMBDA (B BA1 BA2 BA3)
    (PXEQ (QUOTE ANAS)
	  B BA1 BA2 BA3])

(CHECK
  [NLAMBDA (B BA1 BA2 RS PP P RRS)
    (SETQ RS (RIPPLE B (QUOTE GENL)))
    [COND
      ((NOT (FMEMB (QUOTE ANYB)
		   RS))
	(NCONC1 RS (QUOTE ANYB))
	(NCONC RS (RIPPLE B (QUOTE UP]
    (SETQQ PP CHECK)
    [COND
      ((FMEMB BA1 FACETS)
	(SETQ PP BA1)
	[SETQ RS (MAPCONC RS (FUNCTION (LAMBDA (R)
			      (IS-CON-L (GLUE R BA1]
	(SETQ RS (RIPPLE-L RS (QUOTE GENL]                                      (* RS now holds the list of places to 
										look for checking information, ordered 
										from the current B onward toward ANYB)
    (COND
      ((SETQ GEXISTING (GETB B PP))
	(SETQ ORIG-EMP NIL)
	(SETQ GEKNT (LENGTH GEXISTING))
	(SETQ GAEKNT 0)
	(SETQ GNEKNT 0)
	(SETQ GQEKNT 0)
	(SETQ GTEKNT 0)
	(SETQ GCEKNT 0)                                                         (* These 2 represent: the initial number
										of entries, the number found to be 
										totally wrong, and the number which were
										modified into correctness)
	(SETQ RRS (REVERSE RS))

          (* Note that we are daring to call on Check1 and CHeck2 directly, so we never pass along BA1 or BA2;
	  this might be dangerous. For that lack, we save on locating them as free vars for no reason;
	  BA1 will be assumed to be a part name anyway, so it is preprocessed already here)


	(MAPC RRS (QUOTE CHECK1))                                               (* If user asks from whom the help came,
										we can find out from RS)
	(MAPC RS (QUOTE CHECK2))
	(CPRIN1S 2 Checked (ENGN PP) of B)
	[COND
	  ((ZEROP (IPLUS GNEKNT GCEKNT GQEKNT GTEKNT GAEKNT))
	    (CPRIN1S 4 and all entries were confirmed))
	  (T (CPRIN1S 5 DCR TAB GEKNT entries were there initially DCR)
	     (COND
	       ((NOT (ZEROP GAEKNT))
		 (CPRIN1S 5 TAB GAEKNT new examples were generated from these trivially DCR)))
	     (COND
	       ((NOT (ZEROP GCEKNT))
		 (CPRIN1S 5 TAB GCEKNT small modifications had to be made DCR)))
	     (COND
	       ((NOT (ZEROP GQEKNT))
		 (CPRIN1S 5 TAB GQEKNT were never confirmed or rejected DCR)))
	     (COND
	       ((NOT (ZEROP GNEKNT))
		 (CPRIN1S 5 TAB GNEKNT had to be completely discarded DCR)))
	     (CPRIN1S 5 TAB (LENGTH GEXISTING)
		      entries are present now DCR)
	     (COND
	       ((NOT (ZEROP GTEKNT))
		 (CPRIN1S 5 TAB GTEKNT had to be transferred elsewhere DCR]
	(CPRIN1S 2 CRLF)
	(GETB B PP])

(CHECK1
  [LAMBDA (B)
    (APPLYB B (QUOTE CHECK1])

(CHECK2
  [LAMBDA (B)
    (APPLYB B (QUOTE CHECK2])

(D-R
  [NLAMBDA (B)
    (RIPPLE-UNTIL-P B (QUOTE GENL)
		    (QUOTE D-R])

(DEFN
  [NLAMBDA (B BA1 BA2 BA3 BA4 TK2)
    (COND
      ((FMEMB B DEFN-STAK)
	NIL)
      ((ATTACH B DEFN-STAK)
	[OR (NUMBERP TK2)
	    (SETQ TK2 (IPLUS (CLOCK 2)
			     (ITIMES CS-INT 6]
	(SETQ CS-FAIL NIL)                                                      (* There are several ways in which we 
										can tell whether BA1 satisfies the 
										Definition of B)
	(PROG1 (COND
		 ((GETB B (QUOTE DEFN))                                         (* If there is a nec&suff defn around, 
										we just evaluate it)
		   (APPLYB B (QUOTE DEFN)
			   BA1 BA2 BA3 BA4))
		 ((APPLYB B (QUOTE DEFN-SUF)
			  BA1 BA2 BA3 BA4)                                      (* If there are suff defns around and 
										one evals to non-null)
		   T)
		 ((AND (GETB B (QUOTE DEFN-NEC))
		       (NOT (APPLYB B (QUOTE DEFN-NEC)
				    BA1 BA2 BA3 BA4)))                          (* This AND kludge is because DEFB 
										doesnt know to insert a clause like 
										(DEFN-NEC T IN END))
										(* If there are neccessary defns around 
										and one evals to null, then BA1 can't be
										a B)
		   NIL)
		 ((ILESSP TK2 (CLOCK 2))
		   (SETQ CS-FAIL T)
		   NIL)
		 ([SOME (GETB B (QUOTE SPEC))
			(FUNCTION (LAMBDA (Z)
			    (APPLY* (QUOTE DEFN)
				    Z BA1 BA2 BA3 BA4 TK2]                      (* If BA1 satisfies the Definition of 
										some Specialization of B)
										(* DANGER: If Z's definition is of the 
										form (AND... (ISA BA1 b) ...) for the 
										current Being b)
		   T)
		 ([SOME (GETB B (QUOTE GENL))
			(FUNCTION (LAMBDA (Z)
			    (AND (GETB Z (QUOTE DEFN-NEC))
				 (NOT (APPLYB Z (QUOTE DEFN-NEC)
					      BA1 BA2 BA3 BA4]                  (* If BA1 fails to satisfy the 
										definition of any Generalization of B, 
										then it must also not satisfy B)
		   NIL)
		 ((ILESSP TK2 (CLOCK 2))
		   (SETQ CS-FAIL T)
		   NIL)
		 ((MEMBER BA1 (APPLY* (QUOTE EXS)
				      B))
		   T)
		 ((FMEMB B (APPLY* (QUOTE UP)
				   BA1))
		   T)
		 ([SOME (GETB B (QUOTE GENL))
			(FUNCTION (LAMBDA (Z)
			    (AND (GETB Z (QUOTE DEFN))
				 (NOT (APPLYB Z (QUOTE DEFN)
					      BA1 BA2 BA3 BA4 (IPLUS 50 (CLOCK 2]
		   NIL)
		 (T 

          (* A final test, which we won't even do here, is the following: if B.Defn-nec exists, apply it;
	  if it succeeds, then GUESS that the answer is T)


		    (SETQ CS-FAIL T)
		    NIL))
	       (DREMOVE B DEFN-STAK])

(DEFN-NEC
  [NLAMBDA (B BA1 BA2 BA3 BA4)
    (EVERY (RIPPLE B (QUOTE GENL))
	   (FUNCTION (LAMBDA (Z)
	       (OR (NOT (GETB Z (QUOTE DEFN-NEC)))
		   (APPLYB Z (QUOTE DEFN-NEC)
			   BA1 BA2 BA3 BA4])

(DEFN-SUF
  [NLAMBDA (B BA1 BA2 BA3 BA4)
    (SOME (RIPPLE B (QUOTE SPEC))
	  (FUNCTION (LAMBDA (Z)
	      (APPLYB Z (QUOTE DEFN-SUF)
		      BA1 BA2 BA3 BA4])

(EXS
  [NLAMBDA (B)

          (* Since Fripple-S is fast at low (already-specific) nodes but not at high ones, we use it only to 
	  find specializations of examples of specializations of B)


    (ATOM-INT (MAPCONC (MAPCONC (RIPPLE B (QUOTE SPEC))
				(QUOTE GETX))
		       (QUOTE FRIPPLE-S])

(EXS-BDY
  [NLAMBDA (B)
    (ATOM-INT (MAPCONC (MAPCONC (RIPPLE B (QUOTE SPEC))
				(QUOTE GETXB))
		       (QUOTE FRIPPLE-S])

(EXS-NOT
  [NLAMBDA (B)
    (ATOM-INT (MAPCONC (MAPCONC (RIPPLE B (QUOTE GENL))
				(QUOTE GETXNB))
		       (QUOTE FRIPPLE-G])

(EXS-NOT-BDY
  [NLAMBDA (B)
    (ATOM-INT (MAPCONC (MAPCONC (RIPPLE B (QUOTE GENL))
				(QUOTE GETXNB))
		       (QUOTE FRIPPLE-G])

(FILLIN
  [NLAMBDA (B BA1 BA2 RS PP RRS EPP)
    (SETQ RS (RIPPLE-S2 B (QUOTE GENL)
			(QUOTE UP)))
    (SETQ PP (QUOTE FILLIN))
    [COND
      ((FMEMB BA1 FACETS)
	(SETQ PP BA1)
	(SETQ RS (RIPPLE-L [MAPCONC RS (FUNCTION (LAMBDA (R)
					(IS-CON-L (GLUE R BA1]
			   (QUOTE GENL]
    [SETQ ORIG-EMP (NULL (SETQ GEXISTING (GETB B PP]
    (SETQ GEKNT (LENGTH GEXISTING))
    [COND
      (ORIG-EMP (SETQ GEXISTING (INIT-PART B PP]
    (SETQ RRS (REVERSE RS))
    [SETQ FV1 (DREMOVE NIL (MAPCONC RRS (QUOTE FILLIN1]
    (SETQ FL1 (LENGTH FV1))
    (SETQ GEXISTING (NCONCB B PP (SELF-INT FV1)))                               (* Note the danger in not providing 
										Fillin1/2 with any args except Being 
										name)
    [SETQ FV2 (DREMOVE NIL (MAPCONC RS (QUOTE FILLIN2]
    (SETQ FL2 (LENGTH FV2))
    (SETQ GEXISTING (NCONCB B PP (SELF-INT FV2)))
    (SETQ FL3 (IPLUS FL1 FL2))
    (SETQ FV3 (APPEND FV1 FV2))
    (SETQ FL4 (IDIFFERENCE (LENGTH (GETB B PP))
			   GEKNT))
    (SETQ EPP (ENGN PP))
    (COND
      ((ZEROP FL4)
	(CPRIN1 3 CRLF "Failed.  Tried to fill in new " EPP SPACE of SPACE B DCR))
      (T (CPRIN1S 2 CRLF Filled in EPP of B DCR)
	 (CPRIN1S 5 TAB GEKNT EPP existed originally on B DCR)
	 (CPRIN1S 4 TAB FL3 potential new entries were just proposed DCR)
	 (CPRIN1S 19 TAB FL1 found on Pass 1 COMMA
				      then FL2 more derived DCR)
	 (COND
	   ((IGREATERP VERBOSITY 9)
	     (CPRIN1S 9 CRLF Eliminating duplicates COMMA the newly constructed EPP are:)
	     (PRINICE (SETQ FV3 (SELF-INT FV3)))
	     (TERPRI))
	   ((IGREATERP VERBOSITY 4)
	     (CPRIN1S 4 CRLF One of these EPP is: SPACE (RAND-MEMB FV3)
				    CRLF)))
	 (CPRIN1S 6 After eliminating duplicate and already-known entries COMMA AM finds that DCR)
	 (CPRIN1S 2 (COND
		    ((EQ FL3 FL4)
		      all)
		    (T only))
		  FL4 new COMMA distinct EPP of B had to be added DCR CRLF)
	 (CPRIN1 9 CRLF)))
    (GETB B PP])

(FILLIN1
  [LAMBDA (B)
    (APPLYB B (QUOTE FILLIN1])

(FILLIN2
  [LAMBDA (B)
    (APPLYB B (QUOTE FILLIN2])

(GENL
  [NLAMBDA (B)
    (FRIPPLE-G B])

(IN-DOM-OF
  [NLAMBDA (B G P)
    (SETQ P (QUOTE IN-DOM-OF))
    (ATOM-INT (NCONC (SETQ G (MAPCONC (RIPPLE B (QUOTE GENL))
				      (QUOTE GETB-P-C)))
		     (MAPCONC G (QUOTE FRIPPLE-G])

(IN-RAN-OF
  [NLAMBDA (B G P)
    (SETQ P (QUOTE IN-RAN-OF))

          (* Should we somehow go in the SPEC direction too or instead? For example, add on all of these: 
	  (MAPCONC (FRIPPLE-S B) (QUOTE GETB-P-C)), plus all of THEIR specializations, etc.)


    (ATOM-INT (NCONC (SETQ G (MAPCONC (RIPPLE B (QUOTE GENL))
				      (QUOTE GETB-P-C)))
		     (MAPCONC G (QUOTE FRIPPLE-G])

(INT
  [NLAMBDA (B BA1 BA2 BA3)
    (PXEQ (QUOTE INT)
	  B BA1 BA2 BA3])

(INTU
  [NLAMBDA (B BA1 BA2 BA3)
    (PXEQ (QUOTE INTU)
	  B BA1 BA2 BA3])

(INV
  [NLAMBDA (B BA1 BA2 BA3 BA4)
    (PXEQ (QUOTE INV)
	  B BA1 BA2 BA3 BA4])

(SPEC
  [NLAMBDA (B)
    (FRIPPLE-S B])

(SUGG
  [NLAMBDA (B BA1 BA2 BA3)
    (PXEQ (QUOTE SUGG)
	  B BA1 BA2 BA3])

(TIES
  [NLAMBDA (B)
    (PGET (QUOTE TIES)
	  B])

(UP
  [NLAMBDA (B)
    (SELF-INT (MAPCONC (MAPCONC (RIPPLE B (QUOTE GENL))
				(QUOTE GETUP))
		       (QUOTE FRIPPLE-G])

(UP-NOT
  [NLAMBDA (B)
    (SELF-INT (MAPCONC (MAPCONC (RIPPLE B (QUOTE GENL))
				(QUOTE GETUPN))
		       (QUOTE FRIPPLE-G])

(VIEW
  [NLAMBDA (B BA1 BA2 BA3 BA4 RS VV)                                            (* B is the name of the type we wish to 
										convert the given to)
										(* BA1 is the given structure to be 
										converted)
										(* BA2 is the name of the given 
										structure's type)
										(* BA4 is a flag which indicates whether
										this is a top-level call or not)
										(* This lets us supply RS if we know it,
										so as not to keep recomputing it)
    [OR RS (SETQ RS (RIPPLE-L (LIST B)
			      (QUOTE GENL]

          (* 3 ways to do this: all non-top-level calls to View use an extra flag;
	  all toplevel calss insert this extra T argument; inside View here, we check to see if 
	  (CDR CAND) matches (VIEW B BA1...))

                                                                                (* Tentative choice: All non-top-level 
										calls must set BA4 non-null)
    (CPRIN1S [SUB1 (SETQ VV (COND
		       (BA4 91)
		       (T 7]
	     CRLF Viewed BA1 COMMA which is a BA2 COMMA as a B DCR)
    (COND
      ((SOME-EBP RS (QUOTE VIEW)
		 B BA1 BA2 BA3 BA4)
	(CPRIN1S VV TAB The actual viewing was done by GSOME-ELE COMMA who said it was)
	(SELECTQ (LENGTH GSOME-VAL)
		 (0 (CPRIN1S VV unviewable DCR))
		 (1 (CPRIN1S VV (CAR GSOME-VAL)
			     DCR))
		 (CPRIN1S VV any of these COLON CRLF TAB GSOME-VAL DCR))
	GSOME-VAL)
      (T (CPRIN1S (ADD1 VV)
		  TAB Failed DCR)
	 NIL])
)
  (RPAQQ RANDSTATE (-28627365368 . -34080873516))
  (ADDTOVAR USERMACROS (COPY (N)
			     (INSERT (## N)
				     AFTER N))
	    (C NIL (MBD * *)))
  (ADDTOVAR EDITCOMSA C)
  (ADDTOVAR EDITCOMSL COPY)
  (INIT-COMP)
  (INIT1)
  (SETQ FIXEDCONS NIL)
  (SETQ FIXVARS NIL)
  (SETQ FIXFNS NIL)
  (SETQ GLOBALVARS (NCONC GLOBALVARS GLO1))
  (INIT-TC)
  (WIDEPAPER T)
  (INIT-MAC)
  (CPRIN1S 0 Macros have been prepared DCR)
  (CLOCK 2)
  (LISPXPRINT (QUOTE TCCOMS)
	      T T)
  [RPAQQ TCCOMS
	 ((FNS INIT-TC INIT-MAC UPCASE CPRIN1 CPRIN1S INIT1 INIT-COMP)
	  ZMSG CONCEPTS AUX-FACETS SUF-PARTS STRATEGY-PARTS XS-PARTS LNK-PARTS LOOP-FNS POSS-RPARTS GD-TEST LEXL GSTL 
	  OR-PARTS GSPEC-SUG GSPEC2SUG GINTPREDS (VARS * USERS)
	  (VARS * PUNC)
	  BA-LIST BA-LIST2 CAND-TAIL CONSTRUCTIVE-OPS DO-THRESH DUNNO DWIMUSERFN EX-THRESH F-COUNTER GCONJ-FAC 
	  GLOBALVARS GNUMS INIT-CANDS INIT-KILS S INIT-ONCE-LIST INIT-PAST INIT-DOTHRESH INIT-EXTHRESH INIT-INT-THRESH 
	  INIT-INTHRESH INT-THRESH INTHRESH JTRASH NO-LIST PUNC PUNC2 REASON SYN-LIST SWORDS TKNT-INIT TOP-ACTS TRIVB 
	  TRIV-BVAL USED USERNAMES USERS VERBOSITY XEQ-PARTS YES-LIST BB FIXCOMS FIXEDCONS GLO1 MAXLEVEL NOSWAPF PRIVBS 
	  PUNC1 REPR-FNS SAVECOMS SPARE-FNS STICKY-B STICKY-P SYS-FORGET-LIST UCASELST VERSION FACETS (FNS * FACETS)
	  RANDSTATE
	  (USERMACROS C COPY)
	  (P (INIT-COMP)
	     (INIT1)
	     (SETQ FIXEDCONS NIL)
	     (SETQ FIXVARS NIL)
	     (SETQ FIXFNS NIL)
	     (SETQ GLOBALVARS (NCONC GLOBALVARS GLO1))
	     (INIT-TC)
	     (WIDEPAPER T)
	     (INIT-MAC)
	     (CPRIN1S 0 Macros have been prepared DCR)
	     (CLOCK 2))
	  (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
		    (ADDVARS (NLAMA CPRIN1S CPRIN1)
			     (NLAML VIEW UP-NOT UP TIES SUGG SPEC INV INTU INT IN-RAN-OF IN-DOM-OF GENL FILLIN 
				    EXS-NOT-BDY EXS-NOT EXS-BDY EXS DEFN-SUF DEFN-NEC DEFN D-R CHECK ANAS ALGS WORTH]
[DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 
  (ADDTOVAR NLAMA CPRIN1S CPRIN1)
  (ADDTOVAR NLAML VIEW UP-NOT UP TIES SUGG SPEC INV INTU INT IN-RAN-OF IN-DOM-OF GENL FILLIN EXS-NOT-BDY EXS-NOT 
	    EXS-BDY EXS DEFN-SUF DEFN-NEC DEFN D-R CHECK ANAS ALGS WORTH)
]
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1297 10458 (INIT-TC 1309 . 2972) (INIT-MAC 2976 . 7408) (UPCASE 7412 . 7529) (CPRIN1 7533 . 8025) (
CPRIN1S 8029 . 8530) (INIT1 8534 . 9535) (INIT-COMP 9539 . 10455)) (22578 33877 (WORTH 22590 . 22645) (ALGS 22649
. 22727) (ANAS 22731 . 22808) (CHECK 22812 . 25202) (CHECK1 25206 . 25259) (CHECK2 25263 . 25316) (D-R 25320 . 25396)
(DEFN 25400 . 27890) (DEFN-NEC 27894 . 28101) (DEFN-SUF 28105 . 28269) (EXS 28273 . 28577) (EXS-BDY 28581 . 28711)
(EXS-NOT 28715 . 28846) (EXS-NOT-BDY 28850 . 28985) (FILLIN 28989 . 30950) (FILLIN1 30954 . 31009) (FILLIN2 31013
. 31068) (GENL 31072 . 31113) (IN-DOM-OF 31117 . 31310) (IN-RAN-OF 31314 . 31708) (INT 31712 . 31787) (INTU 31791
. 31868) (INV 31872 . 31955) (SPEC 31959 . 32000) (SUGG 32004 . 32081) (TIES 32085 . 32138) (UP 32142 . 32267) (UP-NOT
32271 . 32401) (VIEW 32405 . 33874)))))
STOP